package com.test.sensor;

import java.util.Date;

import com.sse.sensor.TipoSensor.TipoSensorEnum;
import com.sse.sensor.event.SensorEvent;
import com.sse.sensor.event.SensorEventListener;
import com.sse.sensor.impl.SensorAntena;
import com.sse.sensor.utils.EventoUtil;

public class Prueba implements SensorEventListener {

	public static void main(String[] args) {

		int[] posicionesx = { 40, 45, 121, 29, 39, 18 };
		int[] posicionesy = { 3, 45, 1, 90, 278, 23 };

		Prueba p = new Prueba();

		int periodo = 1000; // millis

		// for (int i = 0; i < 5; i++) {
		// ISensor sensor = new SensorHumo();
		// sensor.setId(i);
		// sensor.setPeriod(periodo);
		// // sensor.setTipoSensor(TipoSensor.HUMO);
		// // sensor.setX(posicionesx[i]);
		// // sensor.setY(posicionesy[i]);
		// sensor.addSensorEventListener(p);
		// sensor.iniciar();
		// }

		// for (int i = 10; i < 15; i++) {
		// ISensor sensor = new SensorPuerta();
		// sensor.setId(i);
		// sensor.setPeriod(periodo);
		// // sensor.setTipoSensor(TipoSensor.PUERTA);
		// sensor.setX(posicionesx[i-10]);
		// sensor.setY(posicionesy[i-10]);
		// sensor.addSensorEventListener(p);
		// sensor.iniciar();
		// //
		// }
		//
		// for (int i = 20; i < 25; i++) {
		// ISensor sensor = new SensorVentana();
		// sensor.setId(i);
		// sensor.setPeriod(periodo);
		// sensor.setTipoSensor(TipoSensor.VENTANA);
		// sensor.setX(posicionesx[i-20]);
		// sensor.setY(posicionesy[i-20]);
		// sensor.addSensorEventListener(p);
		// sensor.iniciar();
		//
		// }

		for (int i = 20; i < 25; i++) {
			SensorAntena sensor = new SensorAntena();
			sensor.setId(i);
			sensor.setPeriod(periodo);
			sensor.setRfId(i * 10);
			sensor.addSensorEventListener(p);
			sensor.iniciar();

		}

		while (true) {
			try {
				Thread.sleep(500);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			// System.out.println("Principal Thread: "+Thread.currentThread().getName());

		}

	}

	public void onEvent(SensorEvent sensorEvent) {
		Long data = (Long) sensorEvent.getData();

//		long sensor = TramaUtil.getTipoSensor(data);
//		String sensorStr = TipoSensorEnum
//				.getEnum(TramaUtil.getTipoSensor(data)).toString();
//		long evento = TramaUtil.getEventoId(data);
//
//		System.out.println("Thread: " + Thread.currentThread().getName()
//				+ " \t| Listener Evento: "
//				+ EventoUtil.getEvento(evento, sensor) + " - Sensor: "
//				+ sensorStr + " -" + new Date());

	}

}
